package br.padroes.memento;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import br.padroes.jdbc.modelo.Titulos;
import br.padroes.jdbc.singlenton.ConnectionFactory;

public class RemoveLivro {

	private Connection connection;
	private Titulos titulo = new Titulos();

	public RemoveLivro(long id) {
		connection = ConnectionFactory.getInstance();
		titulo.setId(id);
	}

	// Lista os dados do banco
	public Titulos getLista() {
		try {
			Titulos titulos = new Titulos();

			PreparedStatement stmt = this.connection
					.prepareStatement("select * from titulos where id=?");
			stmt.setLong(1, titulo.getId());
			ResultSet rs = stmt.executeQuery();

			while (rs.next()) {
				// Criando o objeto titulo
				Titulos titulo = new Titulos();
				titulo.setId(rs.getLong("id"));
				titulo.setEditora(rs.getString("editora"));
				titulo.setTitulo(rs.getString("titulo"));
				titulo.setGenero(rs.getString("genero"));
			}
			rs.close();
			stmt.close();
			return titulos;
		} catch (SQLException e) {
			throw new RuntimeException(e);
		}
	}

	// Remove um registro do banco de dados
	public void remove(Titulos titulo) {
		try {
			PreparedStatement stmt = connection
					.prepareStatement("delete from titulos where id=?");
			stmt.setLong(1, titulo.getId());
			stmt.execute();
			stmt.close();
		} catch (SQLException e) {
			throw new RuntimeException(e);
		}
	}
}